This invention relates to computer networks in which a plurality of stations have respective input and output ports that are serially coupled together in a loop; and more particularly, it relates to methods of operating the stations in the network such that both isochronous information (e.g., periodic voice samples) and nonisochronous data (blocks of characters in a computer data bank) are efficiently and simultaneously transferred between the stations.
In the past, various methods and protocols have been used to transmit messages from one station to another in a computer network of the type referred to above. However, a problem with transmitting both voice samples and data characters in a single network is that they have totally different bandwidth requirements, latency requirements, and integrity requirements.
Voice requires a small bandwidth over a long time duration. High quality voice can be transmitted in a bandwidth of only 64 kilobits per second; but the bandwidth must be available for the entire duration of a conversation. Typically, a telephone conversation lasts several minutes.
Data, on the other hand, requires a large bandwidth for a short time duration. For example, data that is read by a computer from a disk or RAM memory for transmission can be read at millions of bits per second. At that rate, an entire block of data can be transmitted in only a few seconds.
As to the latency requirement, voice samples must be generated and received at regular intervals. Any latency between source and destination must remain constant in order to avoid distortion of pitch and tone. Further, due to the characteristics of public carriers, it is necessary that voice destined to travel on such a public carrier reach that carrier with a latency of no more than one millisecond; otherwise, echo is introduced into the conversation.
Computer data, by comparison, can be delayed in a station before its transmission for several minutes. Also, the time delay between consecutive blocks of a multiblock transmission from a station can vary from one block to the next.
As to the integrity requirement, a voice sample can occasionally be delivered to a receiving station in a corrupted form; or it may not be delivered at all. Such an occasional error will not be detectable by a person that listens to the reconstructed voice at the receiving station. Thus there is no need to retransmit a voice sample that has been delivered in error.
On the other hand, dropping just a single bit in a block of computer data during its transmission from one station to another generally is intolerable. Consequently, each block of computer data generally has error check codes appended to it. Also, a response is generally sent by the station that receives a data block back to the transmitting station indicating the condition in which the data block was received.
Accordingly, a primary object of this invention is to provide a method of operating the stations in a computer network which enables both voice and data to be simultaneously transmitted between the stations of a computer network while satisfying all of the above-described conflicting requirements of bandwidth, latency, and integrity.